Method and apparatus for decompression of compressed long-term-orbit data

ABSTRACT

A method and apparatus for processing long-term-orbit data that is valid for an extended period of time into the future (i.e., long-term-orbit data). The long-term-orbit data is processed by reducing redundant information from the data to form compressed long-term-orbit data that is subsequently decompressed or reconstructed for use in a GNSS receiver.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of a co-pending U.S. application Ser.No. 11/724,627, filed Mar. 15, 2007, which is a continuation-in-partapplication of U.S. patent application Ser. No. 11/333,787 filed Jan.17, 2006, which is a continuation-in-part application of co-pending U.S.patent application Ser. No. 09/993,335, filed Nov. 6, 2001, which is acontinuation-in-part of U.S. patent application Ser. No. 09/884,874,filed Jun. 19, 2001, now U.S. Pat. No. 6,560,534, which is acontinuation-in-part of U.S. patent application Ser. No. 09/875,809,filed Jun. 6, 2001, now U.S. Pat. No. 6,542,820. This applicationcontains subject matter that is related to co-pending U.S. patentapplication Ser. No. 09/715,860, filed Nov. 17, 2000, now U.S. Pat. No.6,417,801. Each of the aforementioned related patents and/or patentapplications is herein incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to generating satellite orbitinformation for earth orbiting satellites. More specifically, theinvention relates to a method and apparatus for compressinglong-term-orbit information (also known as “extended ephemeris”information) prior to distributing the information through a network orcommunications link.

2. Description of the Related Art

A positioning receiver for a Global Navigation Satellite System (GNSS),such as the Global Positioning System (GPS), uses measurements fromseveral satellites to compute a position. The process of acquiring theGNSS radio signal is enhanced in speed and sensitivity if the GNSSreceiver has prior access to a model of the satellite orbit and clock.This model is broadcast by the GNSS satellites and is known as anephemeris or ephemeris information. Each satellite broadcasts its ownephemeris once every 30 seconds. Once the GNSS radio signal has beenacquired, the process of computing position requires the use of theephemeris information.

The broadcast ephemeris information is encoded in a 900 bit messagewithin the GNSS satellite signal. It is transmitted at a rate of 50 bitsper second, taking 18 seconds in all for a complete ephemeristransmission. The broadcast ephemeris information is typically valid for2 to 4 hours into the future (from the time of broadcast). Before theend of the period of validity the GNSS receiver must obtain a freshbroadcast ephemeris to continue operating correctly and produce anaccurate position. It is always slow (no faster than 18 seconds),frequently difficult, and sometimes impossible (in environments withvery low signal strengths), for a GNSS receiver to download an ephemerisfrom a satellite. For these reasons it has long been known that it isadvantageous to send the ephemeris to a GNSS receiver by some othermeans in lieu of awaiting the transmission from the satellite.Previously available systems use a technique that collects ephemerisinformation at a GNSS reference station, and transmits the ephemeris tothe remote GNSS receiver via a wireless transmission. This technique ofproviding the ephemeris, or equivalent data, to a GNSS receiver hasbecome known as “Assisted-GNSS”. Since the source of ephemeris inAssisted-GNSS is the satellite signal, the ephemeris information remainsvalid for only a few hours. As such, the remote GNSS receiver mustperiodically connect to a source of ephemeris information whether thatinformation is received directly from the satellite or from a wirelesstransmission. Without such a periodic update, the remote GNSS receiverwill not accurately determine position.

Until recently, the deficiency of the current art was that there was nosource of satellite trajectory and clock information that is valid forlonger than a few hours into the future, and it can be expensive to sendthe ephemeris information repeatedly to the many remote devices that mayneed it. Moreover, mobile devices may be out of contact from the sourceof the Assisted-GNSS information when their current ephemeris becomesinvalid. Consequently, long-term-orbit models (sometimes referred to asextended ephemeris) are used to enable an assisted-GNSS receiver tooperate for a long period of time before new ephemeris is required.However, long-term-orbit models that extend over a long period of timecan contain many bits that form large files. These large files utilizeextensive bandwidth when being transmitted through a network to a GNSSreceiver.

Therefore, there is a need in the art for a method and apparatus forproviding satellite trajectory and clock information that is valid foran extended period into the future, e.g., many days into the future, andsending that information to a GNSS receiver in a compressed form.

SUMMARY OF THE INVENTION

The present invention is a method and apparatus for generating satelliteorbit data that is valid for extend periods of time into the future,i.e., long-term-orbits or LTO (also referred to as extended ephemeris),compressing the LTO before transmission to a GNSS receiver, anddecompressing the LTO at the GNSS receiver. The LTO may contain futuresatellite trajectory information and/or satellite clock information. TheLTO is derived by receiving at one or more satellite tracking stationsthe signals from at least one satellite and determining satellitetracking information (STI) from the received signals. STI containspresent satellite orbit trajectory data and satellite clock information(e.g., ephemeris). The LTO is created for each satellite, as identifiedby its unique pseudo-random noise (PRN) code. LTO is often formatted assequential blocks of data, each block valid for a period of time. Someof the data fields change little or not at all from block to block, andother data fields can be predicted from other data. Thus some of thedata in the LTO may be described as redundant information. To compressthe LTO, redundancy is reduced amongst the individual LTO associatedwith each satellite. In this manner, a data set containing a set of LTOfor a plurality of satellites is substantially smaller than theuncompressed set of LTO for the same plurality of satellites.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the presentinvention are attained and can be understood in detail, a moreparticular description of the invention, briefly summarized above, maybe had by reference to the embodiments thereof which are illustrated inthe appended drawings.

It is to be noted, however, that the appended drawings illustrate onlytypical embodiments of this invention and are therefore not to beconsidered limiting of its scope, for the invention may admit to otherequally effective embodiments.

FIG. 1 depicts a system for creating and distributing long termsatellite tracking data (LTO) to remote GNSS receivers;

FIG. 2 depicts a method for forming the LTO from the satellitemeasurements made at satellite tracking stations;

FIG. 3 depicts a timeline of LTO data that conforms to the broadcastephemeris format models as described in ICD-GPS-200C yet spans manyhours;

FIG. 4 depicts a flow diagram of a method that uses a least squaresestimation technique to update parameters in an orbit trajectory model;

FIG. 5 depicts the error in the orbit model derived from the LTO, andcompares the error to the error in the broadcast ephemeris;

FIG. 6 depicts an example of a data table that could be used in an LTOdatabase;

FIG. 7 depicts a flow diagram depicting a method of compressing a set ofLTO in accordance with one embodiment of the invention;

FIG. 8 depicts a graphical illustration of an LTO compression data setin accordance with one embodiment of the invention; and

FIG. 9 depicts a flow diagram of a method of decompressing a compressedLTO data set in accordance with one embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 depicts a block diagram of a system 100 for creating anddistributing long term satellite tracking data (LTO). The globalnavigation satellite system (GNSS) may include the global positioningsystem (GPS), GLONASS, GALILEO, or other satellite systems that may useLTO to enhance the performance of the receiver. The following disclosureuses GPS as an illustrative system within which the invention operates.From the following disclosure, those skilled in the art will be able topractice the invention in conjunction with other satellite systems.

A network of GNSS tracking stations 102 is used to collect measurementdata from the GNSS satellites 104. Such a network is described in detailin U.S. patent application Ser. No. 09/615,105, filed Jul. 13, 2000. Thenetwork could comprise several tracking stations that collect satellitetracking information (STI) from all the satellites in the constellation,or a few tracking stations, or a single tracking station that onlycollects STI for a particular region of the world. An LTO collection andcomputation server 106 collects and processes the measurement data (thismeasurement data is referred to herein as satellite tracking information(STI) that includes at least one of: code phase measurements, carrierphase measurements, Doppler measurements, or ephemeris data). In thepreferred embodiment, measurement data is obtained from both the L1 andL2 frequencies on which the GPS satellites transmit. Alternativeembodiments may use only one of these frequencies, and/or otherfrequencies used by other satellite systems or by future versions of theGNSS system. The server 106 produces: 1) accurate satellite trackingdata (STD) (e.g., a trajectory of each satellite and/or a clock offsetmeasurement) during the data collection period, 2) a prediction of thefuture STD of each satellite, and 3) models that match the future STD ofeach satellite to form an LTO for each satellite. The server 106comprises a central processing unit (CPU) 118, support circuits 122, andmemory 120. The CPU 118 may be any one of the many CPUs available on themarket to perform general computing. Alternatively, the CPU may be aspecific purpose processor such as an application specific integratedcircuit (ASIC) that is designed to process satellite trackinginformation. The support circuits 122 are well known circuits such asclock circuits, cache, power supplies and the like. The memory 120 maybe read only memory, random access memory, disk drive storage, removablestorage or any combination thereof. The memory 120 stores executablesoftware, e.g., LTO software 124, that, when executed by the CPU 118,causes the system 100 to operate in accordance with the presentinvention.

The set of satellite trajectory and clock data produced by the LTOsoftware 124 constitutes the STD information, and is stored in an STDdatabase 108. A distribution server 110 accesses the database 108 togather the most recent set of data, formats the data using thetrajectory conversion software 111 according to the relevant interfacestandard, and distributes the formatted data to GNSS devices 112 thatrequire satellite orbit information. The distribution process may be bysome form of wireless communications system 114, or over the Internet116, or a combination of both, or by some other means of communication.Once the GNSS devices 112 have received the orbit data, they may operatecontinually for many days without needing to download fresh broadcastephemeris from the satellites or from any other source. The orbit datadistributed to the GNSS devices may be in the same format as thebroadcast ephemeris or may be some other model format that is defined bythe GPS device. Herein this orbit data is generally referred to as asatellite tracking model (STM). The loading of the STM into the GNSSreceiver can be accomplished in many ways. Using the cradle for apersonal digital assistant (PDA), direct connection to a network, or awireless technology, such as Bluetooth or a cellular network, are a fewexamples of how the ephemeris data can be transferred to the receiver.The transmission is generally accomplished by broadcasting the LTO (or amodel representing all or a portion of the LTO) without knowledge of thespecific location of the GNSS receiver. As such, the distribution serverdoes not require the GNSS receiver to send any information through thenetwork to the distribution server.

Since GNSS is a ranging system in and of itself, the data transmitted bythe GNSS satellites can be used to determine the range, range-rate andclock offsets to the GNSS satellites from a set of tracking stations.This set of observations generated by the tracking stations 102 is usedin the orbit determination process, and in the estimation of thesatellite clock characteristics. The set of monitoring stations 102could be a single station, a public network such as the ContinuouslyOperating Reference System (CORS), or a privately owned and/or operatednetwork.

FIG. 2 illustrates the preferred embodiment of a process for computingLTO. The process begins at step 202 with the collection of satellitemeasurements from the network of tracking stations. Measurements such ascode phase, (CP), carrier phase (CPH), and Doppler may be used for GNSSsatellite tracking information. At step 204, the measurements are usedto compute the satellite trajectories and clock offsets over the periodsduring which the data was collected. This step is performed usingstandard GPS processing techniques and software packages well known inthe art. Examples of this type of software are GIPSY from the JetPropulsion Laboratory (JPL), GEODYN from NASA Goddard Space FlightCenter (GSFC), and the commercial product, MicroCosm, from Van MartinSystems.

At step 206, the satellite trajectories and clock offsets from step 204are propagated into the future with the same software package, usingstandard orbit models, such as gravity, drag, solar radiation pressure,tides, third body effects, precession, nutation, and other conservativeand non-conservative forces effecting the satellite trajectory. Theseare normally the same force models that are used in the estimation ofthe satellite orbits during the data fit interval. A subset of thesemodels, such as those for drag and solar radiation pressure, areadjusted during the orbit estimation process described in step 204 tobest fit the trajectory. This combination of known and estimated forcemodels and parameters is used in the propagation 206 to provide thepropagated orbit for time outside the data fit interval. The clockoffsets for GPS satellites are typically very small, and change linearlyover time. These clock offsets are propagated into the future usingstandard models, such as a second order model containing clock offset,drift, and drift rate.

At step 208, the propagated satellite trajectories and/or clock offsetsare stored as STD in a database. At step 210, the trajectory conversionsoftware converts the LTO data into a model and format expected by theGNSS device to which the model is to be provided. At step 212, theprescribed model or information is output. For use with existing GNSSreceivers, the preferred embodiment of the model is the GNSS ephemerismodel as described in ICD-GPS-200 and an ephemeris model is generatedfrom the LTO for each 4 hour period as illustrated in the timeline 300of FIG. 3, i.e., a different model 301, 302 and so on is generated foreach six hour period. As such, the plurality of models 301, 302 and soon cumulatively span the length of the available LTO.

In an alternate embodiment, at step 204, the satellite trajectories andclock offsets may be estimated using the data broadcast by thesatellites and the standard equations given in ICD-GPS-200c.

The orbit model is a mathematical representation of the satellitetrajectory that describes the trajectory as a function of a small numberof variables and eliminates the need to provide satellite positionvectors explicitly as a table of time vs. satellite positions. Anexample of an ephemeris model is the classic six element Keplerianorbital model. Although this model lacks long term accuracy, it is afunctional ephemeris model for providing satellite trajectoryinformation as a function of a small number of variables. In thepreferred embodiment, the model used to describe the trajectory is GNSSstandard ephemeris, specified in ICD-GPS-200c, following the sameconventions and units. This is the preferred method to provide maximumcompatibility with existing GNSS receivers. However, other orbit modelscould also be used to represent the satellite trajectory. Orbit modelscan be selected to provide increased accuracy, longer duration fits,more compact representation of the trajectory, or other optimizationsrequired in an application.

This invention is different from the current art in that the orbit modelprovided to the GNSS device is not the ephemeris data broadcast by theGNSS satellites. Current art downloads the ephemeris broadcast from theGNSS satellites and retransmits that data to GNSS devices. In thisinvention, the broadcast ephemeris data is not required at any stage andis not used in the preferred implementation.

The broadcast ephemeris data provided by the GNSS satellites,specifically GPS satellites, cover a specific time period (typically 4hours) and the end of that time the information becomes unusable. Forexample, if a device receives a broadcast ephemeris that will expire in5 minutes, the device would need the new broadcast ephemeris beforeoperating outside that 5 minute interval. With this invention, the STDmay be formatted for the time period required by the device. This timeperiod may be for the current time forward or may be for some timeinterval in the future. For example, a device may request orbitinformation in the standard GPS ephemeris format for the current time.In this case, the ephemeris provided to the device would be valid forthe next 6 hours. The device could request orbit information for thenext 12 hours in the standard GPS format which could be supplied as twosix hour ephemeris orbit models. In addition, different orbit models andformats that support different accuracies and standards can be generatedfrom the LTO.

Fitting the LTO to the desired orbit model can be accomplished in anumber of mathematical methods. The preferred embodiment is aleast-squares fit of the orbit model parameters to the trajectory data.Other methods, such as Kalman filters or other estimators can also beused to obtain the orbit model parameters that best fit the trajectorydata. These techniques of fitting data to orbit models are well known topeople skilled in the art of orbit determination and orbit modeling.

The least squares technique provides an optimal fit of the trajectorydata to the orbit model parameters. FIG. 4 depicts a flow diagram of amethod of generating an orbit model using a least squares estimationtechnique. One embodiment of LTO is a table representation of time,position, and clock offset for each satellite, as shown in FIG. 6. Thetime, position, and clock offset can be in any time/coordinate system.For the purpose of simplicity and illustration, the time/coordinatesystem is GPS time and Earth-Centered-Earth-Fixed (ECEF) position in theWorld Geodetic Survey 1984 (WGS-84) reference frame.

At step 402, the STD for the desired time interval is extracted from theSTD database. The orbit model parameters are initialized to the orbitmodel values obtained by a similar process for the previous interval.This guarantees that the initial orbit model parameters are a good fitat least for the beginning of the desired time interval. The rest of theprocess 400 will ensure that the parameters are adjusted so that theybecome a good fit for the entire time interval.

In the preferred embodiment there are 15 orbital parameters to beadjusted:

-   -   Square root of semi-major axis (meterŝ½)    -   Eccentricity (dimensionless)    -   Amplitude of sine harmonic correction term to the orbit radius        (meters)    -   Amplitude of cosine harmonic correction term to the orbit radius        (meters)    -   Mean motion difference from computed value (radians/sec)    -   Mean anomaly at reference time (radians)    -   Amplitude of cosine harmonic correction term to the argument of        latitude (radians)    -   Amplitude of sine harmonic correction term to the argument of        latitude (radians)    -   Amplitude of cosine harmonic correction term to the angle of        inclination (radians)    -   Amplitude of sine harmonic correction term to the angle of        inclination (radians)    -   Longitude of ascending node of orbit plane at weekly epoch        (radians)    -   Inclination angle at reference time (radians)    -   Rate of inclination angle (radians/sec)    -   Argument of perigee (radians)    -   Rate of right ascension (radians/sec)

Although it will be readily apparent that more terms may be used, forbetter fits, or, fewer terms may be used for a more compact model.

At step 404, the orbit model is used to predict what the trajectorywould be, the predicted data is denoted the “Model Trajectory Data”(MTD). If the model were perfect, the MTD would coincide exactly withthe STD. At step 406, the MTD and STD are compared to see how closelythe orbit model fits the orbit data. In the preferred embodiment, thecomparison step 406 is performed by summing the squares of thedifferences between each trajectory point in the STD and thecorresponding point in the MTD, and comparing the resulting sum to athreshold. If the fit is “good”, the model parameters are deemed “good”and the process stops at step 410. If the fit is not good then the modelparameters are adjusted at step 408. There are many techniques wellknown in the art for adjusting model parameters to fit data. Forexample, in FIG. 5, the six-hour ephemeris model was adjusted to fit sixhours of STD using a subspace trust region method based on theinterior-reflective Newton method described in Coleman, T. F., and Y.Li, “On the convergence of reflective Newton methods for large scalenonlinear minimization subject to bounds”, Mathematical Programming,Vol. 67, Number 2, pp. 189-224, 1994, and Coleman, T. F., and Y. Li, “Aninterior, trust region approach for nonlinear minimization subject tobounds”, SIAM Journal on Optimization, Vol. 6, pp. 418-445, 1996. Thereare standard computer packages, e.g., MATLAB Optimization Toolbox, whichmay be used to implement these methods.

Steps 404, 406 and 408 are repeated until the model parameters are foundthat fit the STD well.

When fitting an orbit model to trajectory data, there are many choicesof which orbit model to choose. The preferred embodiment is to use orbitmodels with parameters that have been defined in well-known standards.In one embodiment, the ephemeris parameters defined in the GPS interfacecontrol document, ICD-GPS-200c, are used. The ICD-GPS-200c definitionincludes a bit that specifies a 4-hour fit or a 6-hour fit. Typically,the satellite data is broadcast in 4-hour fits and, by the time thisdata is obtained by the observer of the satellite, the data is oftennear the end of its fit interval. In one embodiment of the currentinvention, sequential 6 hour windows of STD are used to create 6-hourephemeris models, using the technique described in FIG. 4 and theaccompanying text. This produces a set of ephemeris models asillustrated in FIG. 3. Although these particular 6-hour models are notavailable without this invention, the models nonetheless are definedusing standard parameters (i.e. ICD-GPS-200c) and will be understood byany device that was designed to be compatible with said standard.

FIG. 5 shows an example of Satellite Tracking Data (STD) that wasgenerated for a time interval of greater than six hours. Then, using thetechnique described by FIG. 4 and accompanying text, parameters of anICD-GPS-200c ephemeris model were adjusted to give a best fit to 6 hoursof the STD. The orbit modeled by this 6-hour ephemeris was then comparedto the true trajectory and, for comparison; the true trajectory was alsocompared to the orbit modeled by the broadcast ephemeris. The resultsare shown in graph 500 of FIG. 5. The vertical axis 502 representsposition error in meters and the horizontal axis 504 represents time inhours. The graph 500 illustrates how the broadcast ephemeris 506 losesvalidity while the ephemeris 508 created by this invention maintains itsvalidity with approximately one meter of error.

The clock offset of GPS satellites is easily modeled by threeparameters. In the preferred embodiment, the measured clock offset ismodeled by the three parameters defined in ICD-GPS-200c. Theseparameters represent clock offset, drift, and drift rate. The parametersare adjusted in a similar way to the method 400 described above to givea model that best fits the measured data over the time interval.

Alternative embodiments may use longer fit intervals, such as 8, 14, 26,50, 74, 98, 122, or 146 hours for each ephemeris model. These fitintervals are envisaged in ICD-GPS-200c, but are seldom, if ever,available from the broadcast ephemeris. Under the current invention,models with these fit intervals may be generated even when the broadcastephemeris is limited to a 4-hour fit interval.

Alternative embodiments of the STD data may include observed satellitevelocity, acceleration, clock drift, or clock drift rate and these termsmay be used in the process of fitting a model in ways which are wellknown in the art.

Another embodiment of an orbit model uses the spare data bits in thecurrent ephemeris format of a conventional GPS signal to provideadditional model parameters that would improve the data fit over longtime intervals. For example, subframe 1 has 87 spare bits that areavailable for additional parameters. This technique allows for moreparameters to describe the orbital motion of the satellites withoutcompromising the standard data format. This new ephemeris model is basedon the current ephemeris model with additional correction terms used toaugment the model to support the longer fit intervals with greateraccuracy.

Yet another embodiment of an orbit model is to develop a new set oforbital parameters that describe the satellite orbit which aredifferent, in part or in their entirety, from the GPS ephemeris modelparameters. With the goal of making the fit interval longer, differentparameters may provide a better description of the satellite orbit. Thisnew set of parameters could be defined such that they would fit into theexisting data structures, however, their implementation and algorithmsfor use would be different.

Still a further embodiment of an orbit model would be to develop a newset of orbital parameters that would not fit into the existing GPSephemeris model format. This new set of parameters would be developed tobetter address the trade-off between the number of parameters required,the fit interval, and the orbit accuracy resulting from the model. Anexample of this type of ephemeris parameter set is Brouwer's theory thatcould be used as is or modified to account for GPS specific terms.Brouwer's theory as described in Brouwer, D. “Solution of the Problem ofArtificial Satellite Theory without Drag”, Astron J. 64: 378-397,November 1959 is limited to satellites in nearly circular orbits such asGPS satellites.

Another embodiment is to use a subset of the standard ephemerisparameters defined in ICD-GPS-200c. This approach is particularly usefulwhen bandwidth and/or packet size is limited in the communication linkthat will be used to convey the orbit model to the Remote GPS Receiver.In one such embodiment, the fifteen orbit parameters described above,and in ICD-GPS-200c, may be reduced to a subset of 9 parameters, bysetting all harmonic terms in the model to zero:

-   -   Square root of semi-major axis (meterŝ½)    -   Eccentricity (dimensionless)    -   Mean motion difference from computed value (radians/sec)    -   Mean anomaly at reference time (radians)    -   Longitude of ascending node of orbit plane at weekly epoch        (radians)    -   Inclination angle at reference time (radians)    -   Rate of inclination angle (radians/sec)    -   Argument of perigee (radians)    -   Rate of right ascension (radians/sec)

Process 400 is then executed using this subset of parameters. Thisreduces the amount of data that must be sent to the Remote GPS Receiver.The receiver can then reconstruct a standard ephemeris model by settingthe “missing” harmonic terms to zero. There are a large number ofalternative embodiments to reduce the size of the data, while stillproviding a model that fits the STD, including:

-   -   Removing parameters from the model, and replacing them with a        constant, such as zero—as done above—or some other predetermined        value, which is either stored in the Remote GPS Receiver, or        occasionally sent to the receiver.    -   The resolution of the parameters may be restricted in the        process 400; this too reduces the amount of data that must be        sent to the mobile GPS receiver.    -   Parameters, which are similar among two or more satellites, may        be represented as a master value plus a delta, where the delta        requires fewer bits to encode; an example of this is the        parameter Eccentricity, which changes very little among        different GPS satellites.

Some of these approaches reduce the ability of the model to fit the dataover a period of time (e.g., six hours). In this case, the fit intervalmay be reduced (e.g. to four hours) to compensate.

Each satellite in the plurality of GNSS satellites has an associatedLTO. Together all the LTOs for a plurality of satellites form an LTOset. The present invention compresses the LTO set by reducinginformation redundancy from the set. The LTO set becomes a compressedset comprising an ephemeris structure (denoted lto_(—)0) plus a sequenceof “deltas” to the ephemeris structure. To decompress the compressedset, client software in the GNSS receiver extracts the ephemerisstructure of the lto_(—)0 and adds a corresponding delta to lto_(—)0 toform each LTO in the set.

FIG. 7 depicts a flow diagram of one embodiment of a compression method700. The method 700 begins at step 702 and proceeds to step 704, wherethe method 700 being executed by the server (106 of FIG. 1) accesses aset of LTO. Method 700 applies to each satellite separately. At step706, the method 700 designates one LTO as a reference LTO (lto_(—)0). Inthe one embodiment, lto_(—)0 is the first LTO in the set of LTO for thisparticular satellite. In alternative embodiments, lto_(—)0 could be anyLTO in the set of LTO, or it could be another structure with the samefields, such as the current satellite ephemeris, or almanac, In anotheralternative embodiment lto_(—)0 could derived by using information fromthe set of LTO, (such as forming lto_(—)0 from the average LTO, themedian LTO, or some other derived LTO). In yet another alternativeembodiment lto_(—)0 could be arbitrarily assigned. At step 708, variable“i” is set to 1 and, at step 710, the method selects the next LTO(lto_i). The difference (Δlto_i) on a field-by-field basis between thereference LTO (lto_(—)0) and the current selected LTO (lto_i) iscomputed at step 712. As such, fields that do not change from LTO to LTOhave a value of zero to indicate no change. In this manner, the LTO ofeach satellite is compressed.

At step 714, the Δlto_i is saved. At step 716, the method 700 querieswhether the method 700 has completed compressing all the satellite LTOs.If the query is negatively answered, the method 700 proceeds to step720, where “i” is increased by 1 to enable step 710 to select the nextLTO for compression.

If the method 700 has completed the compression process for all LTOs,then the method continues with step 722. At step 722, the method 700arranges lto_(—)0 and the Δlto_i values into a data set. The method 700also creates an overhead record—a dynamic range map—that is added to thecompressed data set. The dynamic range map contains a dynamic rangevalue (the number of bits) for each field in an LTO. For example, if afield contains no change, then the field in that Δlto_i is assigned adynamic range of zero and no information needs to be included in thatparticular field in the Δlto_i. Once the compressed data set iscomplete, the method 700 ends at step 724. It is understood that thedata set could be implemented in different ways, for example: as a file,or a series of communications packets, or some other means oftransferring the information.

FIG. 8 depicts a graphical illustration of a compressed data set 800comprising an uncompressed reference LTO (lto_(—)0) 802, and a series ofdelta LTOs (Δlto_i) 806. In various alternative embodiments, at leastone of a dynamic range map 804 and a bitmask 808 may also form a portionof the C-LTO data set 800. Note that since TOC (16 bits) changes withevery LTO, it is identified in the dynamic range map as having a rangeof 16 bits and all 16 bits of TOC information appear in the Δlto_i.However the af2 field does not change and has a range of zero andtherefore does not appear at all in the Δlto_i. Such compression toreduce redundancy is performed on all the fields. Once complete, thecompressed data set can be distributed to the GNSS receiver.

In an alternative embodiment of that shown in FIG. 8, the dynamic rangemap 804 is provided in advance or agreed upon in a specification. Inthis case, there is no need to include the dynamic range map 804 as partof the LTO data being distributed because it is known. As such, thenumber of bits of each delta LTO field is fixed. This technique has theadvantage of simplicity and ease of encoding in a specification but itis less efficient because it has to use more bits per delta field tocover all possible variations of each parameter in the LTO data. Usingthis technique raises the risk that an instance occurs where one or moreof the fields of the LTO deltas fall outside the fixed dynamic rangethat has been specified or agreed upon. A further refinement of thistechnique uses a bitmask 808 with one bit for each field indicatingwhether the compressed format has been used for each particular field.This technique provides a fallback mechanism for the case where one ormore parameters exceed the specified dynamic range.

Each of the parameters of the LTO has an associated scale factor. Forexample, if the LTO comprises standard ephemeris parameters, one suchparameter is i₀ (orbit inclination angle) which has units ofsemi-circles and a scale factor of 2⁻³¹. In an alternative embodiment,the scale factors could be changed so that fewer bits are used to carrythe information.

In an alternative embodiment, certain terms may be eliminated from theset of delta-LTOs, and reconstructed. For example, the four terms: M₀,i₀, Ω₀ and af0 do not have to be sent more than once per satellite perLTO, since, for each subsequent 6 hour segment, these terms can bereconstructed from the previously distributed values.

-   -   M₀=Mean anomaly, the angular distance along the orbital plane at        which the satellite is found at toe.    -   i₀=Orbital inclination, the angle of the orbital plane to the        equator    -   Ω₀=Right ascension at weekly epoch, the longitude of the        intersection of the orbital plane with the equator, at the start        of the week.    -   af0=clock offset

Each of these terms can be computed from previous values as follows.Given a set of orbit parameters defined at some reference time toe=toc,the values of Ω₀, af0, M₀ and i₀ can be computed for some otherreference time (toe+dt) as follows:

-   -   Ω₀=Ω₀+Ω_dot*dt;    -   af0=af0+af1*dt+½af2*dt̂2    -   M₀=M_(o)+dt*√{square root over ((μ/(α³)))}    -   i₀=i₀+iDot*dt        where:    -   μ=3.986005e¹⁴; %WGS-84 Universal gravitational parameter        (m³/s²);    -   We=7.2921151467e-5; %WGS-84 Earth Rotation Rate (rad/sec);    -   a=semi-major axis of the orbit;    -   af1=clock rate, af2=clock acceleration; and    -   the new values are defined with respect to the other time        t=toe+dt

To recover Ω₀, af0, M₀ and i₀ at n 6 hour epochs after toe, the methodpropagates forward n times using the above equations, and computes theappropriate values on the right hand side of the equations at each step.

FIG. 9 depicts a flow diagram of a method 900 that is performed by theGNSS receiver to unpack the compressed data set and recreate LTO. Themethod 900 starts at step 902 and proceeds to step 904, wherein thecompressed data set is received as described above with respect to adecompressed LTO. At step 906, the reference LTO (lto_(—)0) is extractedfrom the data set and, at step 908, the variable “i” is set to 1. Atstep 910, the method 900 selects a Δlto_i and, at step 912, addslto_(—)0 to Δlto_i on a field by field basis. The dynamic range map isused to identify where the data is located within Δlto_i and/or toidentify bit sizes of each parameter with Δlto_i. At step 914, the valueof lto_i is saved in memory.

At step 916, the method 900 queries whether all the Δlto_i have beenprocessed. If the query is negatively answered, the method 900 proceedsto step 922 to increase i by 1 and return to step 910 to select the nextΔlto_i for decompression. If, at step 916, the decompression method 900has processed all Δlto_i, then the method 900 continues to step 918. Atstep 918, the method 900 arranges the stored LTO values (lto_(—)0 andall lto_i) into an LTO set that is then used by the GNSS receiver in themanner described above with respect to uncompressed LTO.

While the foregoing is directed to the preferred embodiment of thepresent invention, other and further embodiments of the invention may bedevised without departing from the basic scope thereof, and the scopethereof is determined by the claims that follow.

1. A method for processing long-term-orbit data comprising: receivingcompressed long-term-orbit data; and performing at least one ofdecompressing or reconstructing long-term-orbit data from the compressedlong-term-orbit data.
 2. The method of claim 1, wherein the step ofperforming at least one of decompressing or reconstructing of thecompressed long-term-orbit data comprises extracting a referencelong-term-orbit data from the compressed long-term-orbit data.
 3. Themethod of claim 1, wherein the step of performing at least one ofdecompressing or reconstructing of the compressed long-term-orbit datacomprises selecting a current long-term-orbit data.
 4. The method ofclaim 1, wherein the step of performing at least one of decompressing orreconstructing of the compressed long-term-orbit data comprises:applying a delta long-term-orbit data to a reference long-term-orbitdata to determine a current long-term-orbit data.
 5. The method of claim4, wherein the delta long-term-orbit data is determined on afield-by-field basis.
 6. The method of claim 4, wherein the currentvalue is at least one of selected, received or computed.
 7. The methodof claim 4, wherein the step of performing at least one of decompressingor reconstructing of the compressed long-term-orbit data furthercomprises adding the reference long-term-orbit data to the deltalong-term-orbit data.
 8. The method of claim 4 further comprisingutilizing a dynamic map for at least one of identifying where the datais located within the delta long-term-orbit data or identifying the bitsizes of each parameter within the long-term-orbit data.
 9. The methodof claim 8, further comprising arranging at least one of thedecompressed or the reconstructed long-term-orbit data according to adetermined requirement.
 10. The method of claim 1, wherein at least oneof the compressed, the decompressed or the reconstructed long-term-orbitdata comprises: long-term-orbit data for each satellite of a pluralityof satellites forming a set of long-term-orbit data.
 11. The method ofclaim 1, wherein the step of performing at least one of decompressing orreconstructing comprises: identifying a first long-term-orbit data forat least one satellite as a reference data for said at least onesatellite; and subtracting a second long-term-orbit data from thereference data to form a delta data, for said at least one satellite.12. The method of claim 11, wherein the first long term satellite orbitdata is selected from the set of long term satellite orbit data.
 13. Themethod of claim 11, wherein the first long term satellite orbit data isderived by using information from the set of long term satellite orbitdata.
 14. The method of claim 11, wherein the first long term satelliteorbit data is arbitrary.
 15. The method of claim 1, wherein at least oneof the compressed, decompressed or reconstructed long-term-orbit datacomprises a dynamic range map.
 16. The method of claim 1, wherein thecompressed long-term-orbit data comprises an indicator of whether afield is at least one of compressed, decompressed or reconstructed. 17.The method of claim 1, wherein the compressed long-term-orbit datacomprises scale factors of the delta data.
 18. The method of claim 1,wherein the step performing at least one of decompressing orreconstructing compressed long term data comprises: generating satelliteorbit data for a past period of time; and extending the satellite orbitdata into the future.
 19. The method of claim 1 further comprising:transmitting the uncompressed long term bit data to aglobal-navigation-satellite-system receiver using a wirelesscommunications link.
 20. The method of claim 1, further comprising:transmitting the compressed long-term-data to aglobal-navigation-satellite-system receives using a wirelesscommunications link.
 21. A method for decompressing long-term-orbit datacomprising: receiving compressed long-term-orbit data; determining areference long-term-orbit data; and determining at least one deltalong-term-orbit data representing differences between the referencelong-term-orbit data or other long-term-orbit data.
 22. The method ofclaim 21, wherein the reference long-term-orbit data is actuallong-term-orbit data selected from a set of long-term-orbit data orarbitrary long-term-orbit data.
 23. The method of claim 21, wherein thecreating a plurality of delta long-term-orbit data further comprises:computing a difference between at least one term of one of the otherlong-term-orbit data or at least one term of the referencelong-term-orbit data.
 24. The method of claim 20, further comprisingutilizing a dynamic map for at least one of identifying where the datais located within the delta long-term-orbit data or identifying the bitsizes of each parameter within the long-term-orbit data.
 25. The methodof claim 21, further comprising generating a bitmask that indicateswhether a term of the other long-term-orbit data is at least one ofcompressed, decompressed or reconstructed.
 26. The method of claim 21,further comprising omitting terms from the delta long-term-orbit datawhen said terms can be reconstructed from the remaining data.
 27. Themethod of claim 21, further comprising arranging the referencelong-term-orbit data and the delta long-term-orbit data to form acompressed data set.
 28. The method of claim 21, further comprisingreconstructing a set of long-term-orbit data using the referencelong-term-orbit data and the delta long-term-orbit data.
 29. The methodof claim 28, wherein the reconstructing step further comprises: adding adelta term to a reference term.
 30. The method of claim 28, wherein thereconstructing step further comprises using a rate term.
 31. The methodof claim 30, wherein the rate term is multiplied by a time difference.32. Apparatus for at least one of decompressing or reconstructinglong-term-orbit data comprising: means for receiving compressedlong-term-orbit data; and means for at least one of decompressing orreconstructing long-term-orbit data from the compressed long-term-orbitdata.